layui.config({
    base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
    index: 'lib/index', //主入口模块
}).use(['index', 'table', 'laytpl', 'laydate', 'echarts', 'carousel', 'senior'], function(){
    var $ = layui.$,
        form = layui.form,
        table = layui.table,
        laydate = layui.laydate;

    laydate.render({
        elem: '#time', //指定元素
        type: 'datetime',
        range: true
    });

    table.render({
        id: 'data-table',
        elem: '#data-table',
        url: 'dataReport/report/detailList',
        where: getData(),
        toolbar: '#data-table-toolbar',
        title: '报表明细列表',
        height: 'full-30',
        page: true,
        limit: 30,
        cols: [[
            {field: 'userId', title: '用户id', width: 120, align: 'center'},
            {field: 'name', title: '昵称', align: 'center'},
            {field: 'type', title: '类型', align: 'center', templet: '#typeTpl'},
            {field: 'number', title: '数量', width: 120, align: 'center'},
            {field: 'desc', title: '描述', width: 360, align: 'center'},
            {field: 'createTime', title: '提交时间', align: 'center'}
        ]],
        parseData: function(result){
            return {
                "code": result.code, //解析接口状态
                "msg": result.msg, //解析提示文本
                "count": result.data.total, //解析数据长度
                "data": result.data.reportDetails //解析数据列表
            };
        }
    });

    //头工具栏事件
    table.on('toolbar(data-table)', function(obj){
        var checks = table.checkStatus(obj.config.id);
        var data = checks.data;
        switch(obj.event){
            case 'search':
                var data =  getData();
                table.reload('data-table', {
                    url: 'dataReport/report/detailList',
                    where: data,
                    page: {
                        curr: 1
                    }
                });
                reloadData(data);
                break;
        };
    });

    /**
     * 获取查询数据
     * @returns {{host: jQuery, online: jQuery, keyword: (*|jQuery|Array|string|undefined), status: (*|jQuery|Array|string|undefined)}}
     */
    function getData() {
        var time = $('#time').val();
        var type = $('#type').val();

        return {'time': time, 'type': type};
    }

    /**
     * 重新渲染数据
     * @param data
     */
    function reloadData(data) {
        $('#time').val(data.time);
        $('#type').val(data.type);
        laydate.render({
            elem: '#time', //指定元素
            type: 'datetime',
            range: true
        });
    }
});